<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes"/>
<title>Clion新手教程 | pansis.io</title>
<link rel="shortcut icon" href="https://github.pansis.site/favicon.ico">
<link href="https://github.pansis.site/styles/main.css" rel="stylesheet">
<link href="//at.alicdn.com/t/c/font_1678829_b85ccgkdqkr.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css" rel="stylesheet">
<link rel="alternate" type="application/rss+xml" title="pansis.io » Feed" href="https://github.pansis.site/atom.xml">
        <meta name="description" content="Clion与Dev-cpp优缺点
Clion
优点：
1、具有代码补全功能，加快写代码的速度。
2、具有更完善的代码检查和纠正功能，避免低级错误无法发现。
3、适合大型项目的编写。对于信息类的同学来说，提前接触更现代化的IDE有利于进行后续..." />
        <meta name="keywords" content="" />
        <!-- OG -->
        <meta property="og:locale" content="zh_CN">
        <meta property="og:title" content="Clion新手教程" />
        <meta property="og:type" content="article" />
        <meta property="og:description" content="Clion与Dev-cpp优缺点
Clion
优点：
1、具有代码补全功能，加快写代码的速度。
2、具有更完善的代码检查和纠正功能，避免低级错误无法发现。
3、适合大型项目的编写。对于信息类的同学来说，提前接触更现代化的IDE有利于进行后续...">
        <meta property="og:url" content="https://github.pansis.site/post/clion-jiao-cheng/" />
        <meta property="og:site_name" content="pansis.io">
        <meta property="og:updated_time" content="2023-09-02">
        <meta property="og:image" content="" />
        <meta property="og:image:secure_url" content="">
        <meta property="og:image:alt" content="Clion新手教程">
        <!-- Twitter (post.ejs) -->
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Clion新手教程">
        <meta name="twitter:description" content="Clion与Dev-cpp优缺点
Clion
优点：
1、具有代码补全功能，加快写代码的速度。
2、具有更完善的代码检查和纠正功能，避免低级错误无法发现。
3、适合大型项目的编写。对于信息类的同学来说，提前接触更现代化的IDE有利于进行后续...">
        <!-- <meta name="twitter:site" content="@WBoy0609">
        <meta name="twitter:creator" content="@WBoy0609"> -->
        <meta name="twitter:image" content="">
</head>

<body>
    <div class="main animated">
        <div class="header animated fadeInDown">
    <div class="site_title_container">
        <div class="site_title">
            <a href="https://github.pansis.site">pansis.io</a>
        </div>
    </div>
    <div class="my_socials">
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
        <a href="https://github.pansis.site/atom.xml" title="rss" target="_blank"><i class="iconfont icon-rss"></i></a>
    </div>
</div>

    <div class="header_menu">
        
            
                <a href="/" class="menu">首页</a>
            
        
            
                <a href="/tag/GWAaV2nvk/" class="menu">程序设计课程</a>
            
        
            
                <a href="/tag/24hangc" class="menu">比赛</a>
            
        
            
                <a href="/tag/L7r9STb75/" class="menu">Python教程</a>
            
        
            
                <a href="/tags" class="menu">分类</a>
            
        
        <div class="gridea-search-div">
            <form id="gridea-search-form" action="https://github.pansis.site/search/">
                <input class="gridea-search-input" autocomplete="off" spellcheck="false" name="q"/>
            </form>
        </div>
    </div>

            <div class="autopagerize_page_element">
                <div class="content">
                    <div class="post_page">
                        <div class="post animated fadeInDown">
                            <div class="post_title post_detail_title">
                                <h2>
                                    Clion新手教程
                                </h2>
                                <span class="article-info">
                                    2023-09-02, 1820 words, 7 min read
                                </span>
                            </div>
                            <div class="post_content markdown">
                                <p class="md_block">
                                    <span class="md_line md_line_start md_line_end">
                                        <h1 id="clion与dev-cpp优缺点">Clion与Dev-cpp优缺点</h1>
<h2 id="clion">Clion</h2>
<p>优点：</p>
<p>1、具有代码补全功能，加快写代码的速度。</p>
<p>2、具有更完善的代码检查和纠正功能，避免低级错误无法发现。</p>
<p>3、适合大型项目的编写。对于信息类的同学来说，提前接触更现代化的IDE有利于进行后续的软件开发。</p>
<p>4、调试功能更强大。</p>
<p>缺点：</p>
<p>1、安装配置麻烦，不能做到Dev-cpp的即装即用。</p>
<p>2、需要许可证激活（对于学生来说，可以通过教育认证免费使用）（但北航邮箱已无法认证，只能破解）。</p>
<p><strong>3、本课程考试可能只允许使用Dev-cpp或者codeblock。</strong></p>
<h2 id="dev-cpp">Dev-cpp</h2>
<p>优点：</p>
<p>1、即装即用。</p>
<p>2、原生支持单文件编译，适合OJ做题。</p>
<p>缺点：</p>
<p>1、缺少代码补全、代码检查、代码纠正功能，容易在低级错误中无法自拔。</p>
<p>2、IDE老旧，不适合当前的软件开发。</p>
<h1 id="clion安装与认证">Clion安装与认证</h1>
<p>本章内容由于北航邮箱被禁用认证而失效，目前只能采用破解方法使用clion。</p>
<p>破解和安装方法可见该链接 <a href="https://www.bilibili.com/read/cv25794684/">【2023】Clion2023.3最新破解教程+永久激活码工具 - 哔哩哔哩 (bilibili.com)</a></p>
<p>破解安装后直接跳转到下一章对clion进行基本设置。</p>
<h2 id="北航邮箱注册">北航邮箱注册</h2>
<p>访问北航邮箱网址，完成北航邮箱注册。</p>
<p>网址：<a href="https://mail.buaa.edu.cn">北航邮箱</a></p>
<p><img src="http://cos.pansis.site/202308152228962.jpg" alt="图形用户界面  描述已自动生成" loading="lazy"><img src="http://cos.pansis.site/202308152228970.gif" alt="图形用户界面, 应用程序  描述已自动生成" loading="lazy"></p>
<p>一个北航邮箱会有两个邮箱账号，一个是“学号@buaa.edu.cn”,另一个是“邮箱名@buaa.edu.cn”（邮箱名为注册时填写的邮箱账号）</p>
<h2 id="jetbrains账户注册与学生认证">JetBrains账户注册与学生认证</h2>
<p>打开JetBrains账户登录页面<a href="https://account.jetbrains.com/login">JetBrains Account</a></p>
<figure data-type="image" tabindex="1"><img src="http://cos.pansis.site/202308152114681.png" alt="" loading="lazy"></figure>
<p>输入北航邮箱或其他个人邮箱，点击注册后在个人邮箱内点击链接完成注册。</p>
<figure data-type="image" tabindex="2"><img src="http://cos.pansis.site/202308152119476.png" alt="" loading="lazy"></figure>
<figure data-type="image" tabindex="3"><img src="http://cos.pansis.site/202308152119530.png" alt="" loading="lazy"></figure>
<p>注册后在跳转的界面<a href="https://account.jetbrains.com/licenses">JetBrains Account</a>进行学生认证</p>
<figure data-type="image" tabindex="4"><img src="http://cos.pansis.site/202308152121509.png" alt="image-20230815212141419" loading="lazy"></figure>
<hr>
<figure data-type="image" tabindex="5"><img src="http://cos.pansis.site/202308152123578.png" alt="image-20230815212304994" loading="lazy"></figure>
<hr>
<figure data-type="image" tabindex="6"><img src="http://cos.pansis.site/202308152125002.png" alt="image-20230815212512887" loading="lazy"></figure>
<hr>
<p>进入北航邮箱 <a href="https://mail.buaa.edu.cn/">北航邮箱</a>，点击认证链接。</p>
<figure data-type="image" tabindex="7"><img src="http://cos.pansis.site/202308152126793.png" alt="image-20230815212635740" loading="lazy"></figure>
<figure data-type="image" tabindex="8"><img src="http://cos.pansis.site/202308152129366.png" alt="image-20230815212929315" loading="lazy"></figure>
<p>滑到底，点击同意</p>
<figure data-type="image" tabindex="9"><img src="http://cos.pansis.site/202308152129936.png" alt="image-20230815212957808" loading="lazy"></figure>
<p>至此，我们就拥有了一个有学生许可证的JetBrains账户，用于后续Clion的激活。</p>
<h2 id="clion安装与激活">Clion安装与激活</h2>
<p>进入下载官网，根据系统选择安装包。</p>
<p><a href="https://www.jetbrains.com/zh-cn/clion/download/#section=windows">下载 CLion：用于 C/C++ 开发的智能跨平台 IDE (jetbrains.com)</a></p>
<figure data-type="image" tabindex="10"><img src="http://cos.pansis.site/202308152111553.png" alt="" loading="lazy"></figure>
<p>下载完成后按照提示安装即可。安装设置可以参考下图，也可根据习惯选择。</p>
<figure data-type="image" tabindex="11"><img src="http://cos.pansis.site/202308152129291.png" alt="image-20230815212901243" loading="lazy"></figure>
<p>安装完成后，打开Clion，在认证界面登录账户。</p>
<figure data-type="image" tabindex="12"><img src="http://cos.pansis.site/202308152133539.png" alt="image-20230815213357493" loading="lazy"></figure>
<hr>
<figure data-type="image" tabindex="13"><img src="http://cos.pansis.site/202308152135472.png" alt="image-20230815213507369" loading="lazy"></figure>
<p>登陆后，在Clion中点击activate完成认证。</p>
<figure data-type="image" tabindex="14"><img src="http://cos.pansis.site/202308152139211.png" alt="image-20230815213947111" loading="lazy"></figure>
<h1 id="clion基本设置">Clion基本设置</h1>
<h2 id="dev-cpp安装">Dev-cpp安装</h2>
<p>Dev-cpp是即装即用的C与C++的IDE，他自身带有C与C++的编译器。而早期版本的Clion并不内置编译器，因此可以通过先安装Dev-cpp来完成编译器安装。</p>
<p>（高版本Clion已内置编译器，所以此步骤非必需。但Dev-cpp作为即装即用的IDE，建议也安装）</p>
<p>安装包地址：https://bhpan.buaa.edu.cn/link/AA15DA77D790C24F7FAECA2311C791D444<br>
有效期限：2027-10-08 18:26</p>
<h2 id="新建项目">新建项目</h2>
<figure data-type="image" tabindex="15"><img src="http://cos.pansis.site/202308152142270.png" alt="image-20230815214237215" loading="lazy"></figure>
<p>新建项目，请按照下面指示创建。</p>
<p>（C99是C语言1999年发布的标准，每一版的标准会略有差异，感兴趣的同学可以自行研究。）</p>
<p>（个人经验判断，C99可能比较兼容咱们的OJ平台）</p>
<figure data-type="image" tabindex="16"><img src="http://cos.pansis.site/202308152143944.png" alt="image-20230815214344897" loading="lazy"></figure>
<figure data-type="image" tabindex="17"><img src="http://cos.pansis.site/202308152145467.png" alt="image-20230815214514344" loading="lazy"></figure>
<p>（正常情况下，Clion能够自动搜索到编译器。如果显示的并非上图界面，请将Toolset路径设置为dev-cpp根目录的路径，Clion将尝试在该文件夹下搜索编译器）</p>
<p>在新建项目后，运行hello world程序。如果编译运行正常，则项目创建成功。</p>
<figure data-type="image" tabindex="18"><img src="http://cos.pansis.site/202308152155863.png" alt="image-20230815215511784" loading="lazy"></figure>
<h2 id="创建其他c文件">创建其他c文件</h2>
<p>在c语言课程中，一个比赛我们会编写多个代码，同时也需要保存一些代码，因此需要创建多个c文件来存储和运行。</p>
<p>在指定路径下右键，选择File。</p>
<figure data-type="image" tabindex="19"><img src="http://cos.pansis.site/202308152152589.png" alt="image-20230815215227492" loading="lazy"></figure>
<p>输入指定文件名，注意要输入拓展名.c作为结尾。随后回车。</p>
<figure data-type="image" tabindex="20"><img src="http://cos.pansis.site/202308152153822.png" alt="image-20230815215332746" loading="lazy"></figure>
<figure data-type="image" tabindex="21"><img src="http://cos.pansis.site/202308152155992.png" alt="image-20230815215554905" loading="lazy"></figure>
<h2 id="tips">Tips</h2>
<p>（1）上述所展示的编译是单文件编译，这种编译方式适合于OJ刷题。但真正的项目往往需要多个c文件共同编译，这就涉及到多文件编译，感兴趣的同学可以自行搜索研究。</p>
<p>（Clion项目默认创建的CMakelist.txt就是CMake编译所需要的文件）</p>
<p>（虽然我们不需要用CMake编译，但请勿删CMakelist.txt和cmake-build-debug文件夹）</p>
<p>（2）单文件编译每次会在主目录生成编译后的exe程序，可以定期清理。</p>
<h1 id="clion中文问题">Clion中文问题</h1>
<h2 id="ide中文插件">IDE中文插件</h2>
<figure data-type="image" tabindex="22"><img src="http://cos.pansis.site/202308152203282.png" alt="image-20230815220317212" loading="lazy"></figure>
<figure data-type="image" tabindex="23"><img src="http://cos.pansis.site/202308152203963.png" alt="image-20230815220353890" loading="lazy"></figure>
<p>安装完成后，根据提示重启IDE即可。</p>
<h2 id="程序运行中文乱码解决">程序运行中文乱码解决</h2>
<p>对于c语言课程来说，OJ不会涉及到中文输入输出，因此Clion中文乱码问题可以不用解决。</p>
<p>按住 <code>Ctrl+Shift+Alt+/</code> ，选中<code>Registry...</code></p>
<figure data-type="image" tabindex="24"><img src="https://pic1.zhimg.com/80/v2-361c8a82390aee1a315f3668c64124ac_720w.webp" alt="img" loading="lazy"></figure>
<p>然后取消<code>run.processes.with.pty</code></p>
<p>然后就可以了~</p>
<figure data-type="image" tabindex="25"><img src="http://cos.pansis.site/202308152213595.webp" alt="img" loading="lazy"></figure>
<p>转载于<a href="https://zhuanlan.zhihu.com/p/106747225">Clion 中 的乱码问题正确解决方案（来自官方技术支持） - 知乎 (zhihu.com)</a></p>
<h1 id="clion-debug调试">Clion debug（调试）</h1>
<h2 id="实例演示">实例演示</h2>
<p>在代码中随便编辑一些代码，代码中需要有变量赋值操作，用于观察debug模式,参考代码如下所示</p>
<pre><code class="language-c">#include &lt;stdio.h&gt;

int main() {
    int i = 0;
    while (i &lt; 5) {
        i++;
    }
    return 0;
}
</code></pre>
<p>编写完代码之后，在需要暂停的代码处进行断点，标注方法是用鼠标点击行号右侧旁边，会出现小红点，如下图所示。</p>
<figure data-type="image" tabindex="26"><img src="http://cos.pansis.site/202308152222667.png" alt="image-20230815222247609" loading="lazy"></figure>
<figure data-type="image" tabindex="27"><img src="http://cos.pansis.site/202308152223703.png" alt="image-20230815222312660" loading="lazy"></figure>
<p>接下来就可以使用debug模式观察变量的数据了，在编辑器的右侧上方有一个绿色虫子的图标，点击此图标就进入了debug模式。</p>
<h2 id="调试器用户界面">调试器用户界面</h2>
<p>当调试器命中断点时，究竟会发生什么呢？ 除了暂停执行外，您还会看到以下调试工具窗口：</p>
<figure data-type="image" tabindex="28"><img src="https://pic3.zhimg.com/80/v2-12373c81547594bb77bef44ebca7adae_720w.webp" alt="img" loading="lazy"></figure>
<p>这里有很多内容，所以我们首先讨论两个主要标签（顶级标签，可以这么说）。 它们是：</p>
<ul>
<li><strong>调试器 (Debugger)</strong> — 这实际上显示了我们将在稍后讨论的各种调试选项。</li>
<li><strong>控制台 (Console)</strong> — 如果您的应用程序有任何输出，那么该区域显示命令行输出。</li>
</ul>
<p>在这些选项卡的右边有一系列按钮，这些按钮使您可以在调试的代码中导航。 其中包括让您：</p>
<ul>
<li>显示执行点 (Show Execution Point) (Alt+F10 )，</li>
<li>逐函数执行 (Step Over) (F8 )，</li>
<li>逐行执行 (Step Into) (F7 )，</li>
<li>强制逐行执行 (Force Step Into) (Alt+Shift+F7 )，</li>
<li>跳出 (Step Out) (Shift+F8 )，</li>
<li>和运行到光标 (Run to Cursor) (Alt+F9 )。</li>
</ul>
<p>在堆栈框架右侧有两个选项卡：<strong>变量 (Variables)</strong> 和 <strong>GDB (LLDB)</strong>。 我们将稍后谈论变量；就 GDB (LLDB) 而言，该选项卡基本上显示了 GDB (LLDB) 自身的命令行输出，因为那是用于调试我们应用的调试器。</p>
<h2 id="变量">变量</h2>
<p>最简单的查看变量状态的方法当然是在代码中。 只需将鼠标悬停在存疑的变量上，就会看到如下内容：</p>
<figure data-type="image" tabindex="29"><img src="https://pic4.zhimg.com/80/v2-8169ecf83402018e05c02ad5ae754343_720w.webp" alt="img" loading="lazy"></figure>
<p>当然，您可以在 <strong>Debug</strong> 工具窗口更全面地了解变量。</p>
<figure data-type="image" tabindex="30"><img src="https://pic2.zhimg.com/80/v2-30bdf6dd3c3cd690258fd142e164ba79_720w.webp" alt="img" loading="lazy"></figure>
<p>对于任何一个变量，我们可以展开树以查看其内容：</p>
<figure data-type="image" tabindex="31"><img src="https://pic4.zhimg.com/80/v2-cd48509a57b4c866f6203dca284e4d8b_720w.webp" alt="img" loading="lazy"></figure>
<p>转载于</p>
<p><a href="https://zhuanlan.zhihu.com/p/411180852">Clion Debug模式使用实践 - 知乎 (zhihu.com)</a></p>
<p><a href="https://zhuanlan.zhihu.com/p/608492480">怎么使用 CLion 的调试（Debug） - 知乎 (zhihu.com)</a></p>
<br />
                                            
                                </p>
                            </div>
                            <div class="post_footer">
                                
                                        
                                            <div class="next-post" style="margin-top: 20px;">
                                                <div class="next">下一篇</div>
                                                <a href="https://github.pansis.site/post/python-anaconda-huan-jing-pei-zhi/">
                                                    <h3 class="post-title">
                                                        Python-Anaconda环境配置
                                                    </h3>
                                                </a>
                                            </div>
                                            
                            </div>
                        </div>
                        
                            
                                <link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<div id="gitalk-container" style="padding-bottom: 20px;"></div>
<script>
    var pageId = (location.pathname).substring(1, 49) // Ensure uniqueness and length less than 50
    pageId = pageId.endsWith('/') ? pageId.slice(0, -1) : pageId // 以斜杠结尾则去除
    var gitalk = new Gitalk({
        clientID: '9d5eba33618472c44a07',
        clientSecret: '065a85ed04333ceebfc4f01d7ca1674175730339',
        repo: 'fzxl2003.github.io',
        owner: 'fzxl2003',
        admin: ['fzxl2003'],
        id: pageId,
        distractionFreeMode: false  // Facebook-like distraction free mode
    })
    gitalk.render('gitalk-container')
</script>
                                    
                                        
                                                    
                    </div>
                </div>
            </div>
    </div>
    <div class="footer">
    
    <div class="powered_by">
        <a href="https://codeberg.org/kytrun/gridea-theme-one" target="_blank">Theme One,</a>
        <a href="https://open.gridea.dev/" target="_blank">Powered by Gridea&#65281;</a>
    </div>
    
    
        <div class="footer_slogan">
            Powered by <a href="https://github.com/getgridea/gridea" target="_blank">Gridea</a>
        </div>
    
    <div id="back_to_top" class="back_to_top">
        <span>△</span>
    </div>
    
</div>

<script src="https://github.pansis.site/media/scripts/util.js"></script>
        <link rel="stylesheet" href="//unpkg.com/@highlightjs/cdn-assets@11.5.1/styles/default.min.css">
        <script src="//unpkg.com/@highlightjs/cdn-assets@11.5.1/highlight.min.js"></script>
        <script>hljs.highlightAll();</script>
</body>

</html>